In many data processing systems, there are data flows where a small subset of data changes each time the data flow is executed. For instance, in a clinical trial enrolling 10,000 subjects over the course of three years, in a given day only a small subset of the subjects have a change to their data. However, it is common for programs to access the clinical trial data to perform various derivations and transformations of the data on a daily or even hourly basis. As the size of the source data set increases, performing the derivations and transformations on the entire data set to update the results becomes impractical.